/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dao;

import model.TrinhDoVanHoa;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import util.HibernateUtil;

/**
 *
 * @author MRDO
 */
public class TrinhDoVanHoaDao {
    private static Session session;
    
    public TrinhDoVanHoaDao(){
        SessionFactory factory = HibernateUtil.getSessionFactory();
        this.session = factory.getCurrentSession();
    }
    
    /*
     * insertTrinhDo
     */
    public boolean insertTrinhDo(String maTrinhDoVanHoa, String trinhDoVanHoa){
        try {
            session.beginTransaction();
            
            TrinhDoVanHoa trinhDo = new TrinhDoVanHoa(maTrinhDoVanHoa, trinhDoVanHoa);
            
            session.save(trinhDo);
            session.flush();
            session.getTransaction().commit();
            return true;
        } catch (Exception e) {
            if (session.getTransaction().isActive()) {
                session.getTransaction().rollback();
            }
        }
        return false;
    }
    
    /*
     * updateTrinhDo
     */
    public boolean updateTrinhDo(String maTrinhDoVanHoa, String trinhDoVanHoa){
        try {
            session.beginTransaction();
            
            TrinhDoVanHoa trinhDo = (TrinhDoVanHoa) session.get(TrinhDoVanHoa.class, maTrinhDoVanHoa);
            trinhDo.setTrinhDoVanHoa(trinhDoVanHoa);
            
            session.update(trinhDo);
            session.flush();
            session.getTransaction().commit();
            return true;
        } catch (Exception e) {
            if (session.getTransaction().isActive()) {
                session.getTransaction().rollback();
            }
        }
        return false;
    }
    
    /*
     * deleteTrinhDo
     */
    public boolean deleteTrinhDo(String maTrinhDo){
        try {
            session.beginTransaction();
            
            TrinhDoVanHoa trinhDo = (TrinhDoVanHoa) session.get(TrinhDoVanHoa.class, maTrinhDo);
            
            session.delete(trinhDo);
            session.flush();
            session.getTransaction().commit();
            return true;
        } catch (Exception e) {
            if (session.getTransaction().isActive()) {
                session.getTransaction().rollback();
            }
        }
        return false;
    }
}
